package console

/**
 * 枚举类型
 *
 */
enum class Lang(val hello: String, param: String) {
    ENGLISH("Hello", "英文"),
    CHINESE("你好", "中文"),
    BABY("譬如出口", "婴儿语");

    val lang: String = param

    init {
    }

    /**
     * 普通方法
     */
    fun sayHello() {
        println(hello)
    }

    /**
     * 伴生对象(静态方法、静态变量、静态常量)
     */
    companion object {
        fun parse(lang: String): Lang {
            return Lang.valueOf(lang.toUpperCase())
        }
    }
}

/**
 * 枚举类型
 * 参数 english chinese baby
 */
fun main(args: Array<String>) {
    args.map {
        Lang.parse(it)
    }.forEach {
        print("$it param:${it.lang} say:")
        it.sayHello()
    }
}